草庐IT

c++ - 从 C++ 类制作 Visual C++ DLL

全部标签

c# - 从 .NET Windows 服务调用 Shell32.dll

我有一个.NET4.0库,它使用Shell32和Folder.GetDetailsOf()从WTV文件中获取元数据。我已经成功地将它用于控制台和Windows窗体应用程序,没有任何问题。但由于某种原因,当从.NET4.0Windows服务调用组件时,调用启动Shell类会导致COM错误。库中失败的代码:Shell32.Shellshell=newShell();错误:无法将“System.__ComObject”类型的COM对象转换为接口(interface)类型“Shell32.Shell”。此操作失败,因为IID为“{286E6F1B-7113-4355-9562-96B7E9D6

c# - 当我运行测试时,如何让单元测试复制我的 DLL 和其他文件?

我正在开发一个应用程序,我已经为它创建了许多单元测试。带有测试类的项目依赖于3个第三方DLL。当我转到测试项目的bin\Debug文件夹时,Dll就在那里。但是当我运行测试时,DLL没有被复制到TestResult\\Out文件夹中。还有一个我想复制的来自另一个项目的log4net.config文件。这个没有出现在测试项目的bin\Debug文件夹中,所以这是我必须解决的另一个问题。如何在运行单元测试时复制这些文件?托尼 最佳答案 您可以使用DeploymentItemAttribute将文件复制到bin(或其他)目录。[TestM

c# - 有没有一种简单的方法来制作类的不可变版本?

有没有一种简单的方法可以使实例不可变?举个例子,我有一个包含很多数据字段的类(只有数据,没有行为):classMyObject{//lotsoffieldspainfultoinitializeallatonce//sowemakefieldsmutable:publicStringTitle{get;set;}publicStringAuthor{get;set;}//...}创建示例:MyObjectCreationExample(StringsomeParameters){varobj=newMyObject{Title="foo"//lotsoffieldsinitializa

Unity之C#脚本编译dll

前言以前项目访问权限是,客户端开发可以查看前端的所有内容,包括C#脚本,lua代码等。现在项目组调整,C#代码权限仅主程可见,取而代之的是一个被编译成dll类型的文件。现在终于有空,来研究下C#脚本是如何编译成dll文件并调用C#中的类,方法等。准备首先创建一个DllTest场景。创建一个将被编译成dll的C#脚本,命名为TestLog,并增加一个方法打印输出,用于判断在调用该方法是否成功,成功将会在控制台输出“调用TestLog成功”。创建Text脚本,来测试调用dll是否成功。为相机挂载Text脚本编译dll准备工作完成了,接下来编译dll文件。点击后生成一个.asmdef文件,改成自己想

100个Python实战项目(九)制作贪吃蛇游戏(评论抽奖送书)

?个人网站:【海拥】【摸鱼小游戏】【开发文档导航】?风趣幽默的人工智能学习网站:?人工智能?想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】?免费且实用的计算机相关知识题库:?进来逛逛给大家安利一个免费且实用的Python刷题(面经大全)网站,?点击跳转到网站。本文章为系列文章,共100个python实战项目。初学者可以尝试实现这些项目,并在Python编译环境中动手操作。所有项目都已收集在专栏:

c# - 是否可以在 .Net 3.5 中制作通用控件?

我已经声明了以下通用用户控件:publicpartialclassMessageBase:UserControl{protectedTmyEntry;publicMessageBase(){InitializeComponent();}publicMessageBase(TnewEntry){InitializeComponent();myEntry=newEntry;}}}但是编译器不允许我这样做:publicpartialclassMessageControl:MessageBase{publicMessageControl(){InitializeComponent();}}如何

c# - 构建与控制台和 DLL 相同的项目

我在VisualStudio中有一个C#项目,它以ConsoleApplication作为输出类型。但是我还需要这个项目的一个类库作为另一个解决方案。现在我每次都必须切换输出类型,但我想知道是否可以在相同的build-eventexe和dll/?是否有用于此的post-build-event? 最佳答案 据我所知,编译后无法更改输出类型。话虽如此,如果您的解决方案中可以有两个项目,例如Console和Library,它们将使用相同的源代码文件,但有不同的输出类型。这样,您将获得不同的输出,而无需任何重复代码。

c# - 在运行时动态选择要使用的 .dll 版本

我正在为SharePoint开发一个实用程序。它是适用于SharePoint2007和2010的应用程序。当我引用12.0.0.0版本的SharePoint.dll时,该应用程序适用于SharePoint2007,但不适用于2010。如果我引用14.0.0.0版本的dll,那么该应用程序适用于2010年,但不适用于2007年。通过使用以下代码查看文件系统,检查路径中的12(SharePoint2007)或14(SharePoint2010),我可以轻松判断我需要使用哪个.dll。System.IO.File.Exists(Environment.GetFolderPath(Enviro

c# - 定向鼠标事件 [DllImport ("user32.dll")] 单击,双击

我试过了[DllImport("user32.dll")]staticexternboolSetCursorPos(intX,intY);并且将光标移动到所需点时效果很好。我以前从未尝试过这种DLL导入,但它有效:)。但是我想要更多我还能提取什么?主要是我想在没有任何鼠标输入的情况下双击、单击或使用滚轮选项,只是代码我该怎么做?以及如何检查user32dll中还包含什么?谢谢 最佳答案 [DllImport("user32.dll",CharSet=CharSet.Auto,CallingConvention=CallingConv

c# - 如何从 VBScript 调用 C# DLL 函数

我的脚本在服务器上,所以我没有可用的UI交互,必须使用DLL而不是控制台应用程序。如何从VBScript调用C#DLL中的函数?如何使我的DLL成为COMVisible?我必须注册吗? 最佳答案 您需要通过设置COMVisibleAttribute将程序集标记为COM可见为真(如果您只想公开一种类型,则在程序集级别或类级别)。接下来注册它:regasm/codebaseMyAssembly.dll最后从VBScript中调用它:dimmyObjSetmyObj=CreateObject("MyNamespace.MyObject")